
**************************************************************************************************************************************************
**************************************************************************************************************************************************
****** Institutionalized Defense Cooperation 
****** Journal of Conflict Resolution
****** Md Muhibbur Rahman
****** February 2026
**************************************************************************************************************************************************
**************************************************************************************************************************************************


********************************************************* Tables in the appendices ***************************************************************


***** Load the main (monadic) data

use JCR_replication_data, clear 
xtset ccode year 

*_Note: Use this data for producing all tables, except Tables A13-A15 which require using dyadic data.



***** Table A1 – Summary statistics (full sample)

estpost sum any_coup_dum dcacount dca_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar
esttab using dst1.tex, cell((count mean sd min max)) b(3) varwidth(30)




***** Table A2 – Summary statistics (developing countries)

estpost sum any_coup_dum dcacount dca_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar if oecd==0
esttab using dst2.tex, cell((count mean sd min max)) b(3) varwidth(30)




***** Table A3 – With an extended set of covariates

xtmelogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar || ccode: , intpoints(10)
estimates store ma1
xtmelogit any_coup_dum dca_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar || ccode: , intpoints(10)
estimates store ma2

xtmelogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar || ccode: if oecd==0, intpoints(10)
estimates store ma3
xtmelogit any_coup_dum dca_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar || ccode: if oecd==0, intpoints(10)
estimates store ma4

esttab ma1 ma2 ma3 ma4 using taba3.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)




***** Table A4 – Covariates lagged by one year

** IVs lagged by a year

xtmelogit any_coup_dum l.dcacount l.defense prev_acoup l.polity_iv l.lnGDPpc l.lnmilexp l.lnmilper l.threat l.mid_fat3 l.extek civilwar || ccode: , intpoints(10)
estimates store ma5
xtmelogit any_coup_dum l.dcacount l.defense prev_acoup l.polity_iv l.lnGDPpc l.lnmilexp l.lnmilper l.threat l.mid_fat3 l.extek civilwar || ccode: if oecd==0, intpoints(10)
estimates store ma6

esttab ma5 ma6 using taba4.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)




***** Table A5 – Controlling for binary regime type and GDP growth

** binary measure of democracy
xtmelogit any_coup_dum dcacount defense prev_acoup democracy_BX lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar || ccode: , intpoints(10)
estimates store ma7
xtmelogit any_coup_dum dcacount defense prev_acoup democracy_BX lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar || ccode: if oecd==0, intpoints(10)
estimates store ma8

** adding GDP growth 
xtmelogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth || ccode: , intpoints(10)
estimates store ma9
xtmelogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth || ccode: if oecd==0, intpoints(10)
estimates store ma10

esttab ma7 ma8 ma9 ma10 using taba5.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)




***** Table A6 – Controlling for time trends (full sample)

** Cold War as the Control 
xtmelogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW || ccode: , intpoints(10)
estimates store ma11

** yearly time trend 
xtmelogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW year || ccode: , intpoints(10)
estimates store ma12

** 5-year time trend
xtmelogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW t8085 t8690 t9195 t9600 t0105 t0610 || ccode: , intpoints(10)
estimates store ma13

** 10-year time trend 
xtmelogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW decade80s decade90s decade20s || ccode: , intpoints(10)
estimates store ma14


esttab ma11 ma12 ma13 ma14 using taba6.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)




***** Table A7 – Controlling for time trends (developing countries)

** Cold War as the Control 
xtmelogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW || ccode: if oecd==0, intpoints(10)
estimates store ma15

** yearly time trend 
xtmelogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW year || ccode: if oecd==0, intpoints(10)
estimates store ma16

** 5-year time trend
xtmelogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW t8085 t8690 t9195 t9600 t0105 t0610 || ccode: if oecd==0, intpoints(10)
estimates store ma17
 
** 10-year time trend 
xtmelogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW decade80s decade90s decade20s || ccode: if oecd==0, intpoints(10)
estimates store ma18


esttab ma15 ma16 ma17 ma18 using taba7.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)




***** Table A8 – Random effects logit models with an extended set of covariates

xtlogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar, re
estimates store rm01
xtlogit any_coup_dum dca_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar, re
estimates store rm02

xtlogit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar if oecd==0, re
estimates store rm03
xtlogit any_coup_dum dca_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar if oecd==0, re
estimates store rm04

esttab rm01 rm02 rm03 rm04 using taba8.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)




***** Table A9 – Logit models with an extended set of covariates

logit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar, robust
estimates store lm01
logit any_coup_dum dca_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar, robust
estimates store lm02

logit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar if oecd==0, robust
estimates store lm03
logit any_coup_dum dca_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar if oecd==0, robust
estimates store lm04

esttab lm01 lm02 lm03 lm04 using taba9.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)




***** Table A10 – Logit models with an extended set of covariates and cubic polynomials

logit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar any_coup_yrs any_coup_yrs2 any_coup_yrs3, robust
estimates store lm05
logit any_coup_dum dca_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar any_coup_yrs any_coup_yrs2 any_coup_yrs3, robust
estimates store lm06

logit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar any_coup_yrs any_coup_yrs2 any_coup_yrs3 if oecd==0, robust
estimates store lm07
logit any_coup_dum dca_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar any_coup_yrs any_coup_yrs2 any_coup_yrs3 if oecd==0, robust
estimates store lm08

esttab lm05 lm06 lm07 lm08 using taba10.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)




***** Table A11 – Logit models controlling for regional distribution and regime type dummies

** region dummies 
logit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW region_SSA region_SoAsia region_MENA region_Latin region_EAsiaPac region_EurCentAsia region_NoAmer, robust
estimates store dm01
logit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW region_SSA region_SoAsia region_MENA region_Latin region_EAsiaPac region_EurCentAsia region_NoAmer if oecd==0, robust
estimates store dm02

** autocratic regime type dummies 
logit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW gwf_party gwf_military gwf_monarchy gwf_personal, robust 
estimates store dm03
logit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW gwf_party gwf_military gwf_monarchy gwf_personal if oecd==0, robust
estimates store dm04

*** region and regime type dummies together 
logit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW gwf_party gwf_military gwf_monarchy gwf_personal region_SSA region_SoAsia region_MENA region_Latin region_EAsiaPac region_EurCentAsia region_NoAmer, robust
estimates store dm05
logit any_coup_dum dcacount defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar GDPgrowth CW gwf_party gwf_military gwf_monarchy gwf_personal region_SSA region_SoAsia region_MENA region_Latin region_EAsiaPac region_EurCentAsia region_NoAmer if oecd==0, robust
estimates store dm06

esttab dm01 dm02 dm03 dm04 dm05 dm06 using taba11.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)




***** Table A12 – Mixed-effects models with interaction terms

xtmelogit any_coup_dum c.dcacount##c.polity_iv defense prev_acoup lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar || ccode: , intpoints(10)
estimates store im5
xtmelogit any_coup_dum i.dca_dum##c.polity_iv defense prev_acoup lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar || ccode: , intpoints(10)
estimates store im6

xtmelogit any_coup_dum c.dcacount##c.polity_iv defense prev_acoup lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar || ccode: if oecd==0, intpoints(10)
estimates store im7
xtmelogit any_coup_dum i.dca_dum##c.polity_iv defense prev_acoup lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar || ccode: if oecd==0, intpoints(10)
estimates store im8

esttab im5 im6 im7 im8 using taba12.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)



********************************************************************************************************************************************************************


***** Load the dyadic data

use JCR_data_dyadic, clear 
xtset id year 

*_Note: Use this data for Tables A13-15 which require using dyadic data



***** Table A13 – Dyad-year logit models

logit any_coup_dum dca_dum defense prev_acoup bothdemocracy lnGDPpc lnmilexp lnmilper midsameside mid_fat3 threat extek civilwar, robust
estimates store dm01
logit any_coup_dum dca_dum defense prev_acoup bothdemocracy lnGDPpc lnmilexp lnmilper midsameside mid_fat3 threat extek civilwar if oecd==0, robust
estimates store dm02

logit any_coup_dum dca_dum defense prev_acoup bothdemocracy lnGDPpc lnmilexp lnmilper midsameside mid_fat3 threat extek civilwar nocoupyears nocoupyears2 nocoupyears3, robust
estimates store dm03
logit any_coup_dum dca_dum defense prev_acoup bothdemocracy lnGDPpc lnmilexp lnmilper midsameside mid_fat3 threat extek civilwar nocoupyears nocoupyears2 nocoupyears3 if oecd==0, robust
estimates store dm04

esttab dm01 dm02 dm03 dm04 using taba13.tex, se r2 varwidth(30) label /// 
star(* 0.10 ** 0.05 *** 0.01)




***** Table A14 – Dyad-year logit models: Socialization mechanism

gen dcapi = dca_dum
replace dcapi =2 if dca_dum ==1 & bothdemocracy ==1
replace dcapi =1 if dca_dum ==1 & bothdemocracy ==0
replace dcapi =0 if dca_dum ==0


logit any_coup_dum i.dcapi defense prev_acoup lnGDPpc lnmilexp lnmilper midsameside mid_fat3 threat extek civilwar nocoupyears nocoupyears2 nocoupyears3, robust
estimates store dm05
logit any_coup_dum i.dcapi defense prev_acoup lnGDPpc lnmilexp lnmilper midsameside mid_fat3 threat extek civilwar nocoupyears nocoupyears2 nocoupyears3 if oecd==0, robust
estimates store dm06


esttab dm05 dm06 using taba14.tex, se r2 varwidth(30) label /// 
star(* 0.10 ** 0.05 *** 0.01)




***** Table A15 – Dyad-year logit models: Custom samples

drop if ccode== 2
drop if ccode== 200
drop if ccode== 710
drop if ccode== 220
drop if ccode== 365
drop if ccode2== 2
drop if ccode2== 200
drop if ccode2== 710
drop if ccode2== 220
drop if ccode2== 365


logit any_coup_dum dca_dum defense prev_acoup bothdemocracy lnGDPpc lnmilexp lnmilper midsameside mid_fat3 threat extek civilwar nocoupyears nocoupyears2 nocoupyears3, robust
estimates store dm07
logit any_coup_dum dca_dum defense prev_acoup bothdemocracy lnGDPpc lnmilexp lnmilper midsameside mid_fat3 threat extek civilwar nocoupyears nocoupyears2 nocoupyears3 if oecd==0, robust
estimates store dm08
logit any_coup_dum dca_dum defense prev_acoup bothdemocracy lnGDPpc lnmilexp lnmilper midsameside mid_fat3 threat extek civilwar nocoupyears nocoupyears2 nocoupyears3, robust
estimates store dm09
logit any_coup_dum dca_dum defense prev_acoup bothdemocracy lnGDPpc lnmilexp lnmilper midsameside mid_fat3 threat extek civilwar nocoupyears nocoupyears2 nocoupyears3 if oecd==0, robust
estimates store dm010

esttab dm07 dm08 dm09 dm010 using taba15.tex, se r2 varwidth(30) label /// 
star(* 0.10 ** 0.05 *** 0.01)



**********************************************************************************************************************************************************************

***** Load the monadic data again

use JCR_replication_data, clear 
xtset ccode year 

*_Note: Use this data for the subsequent tables




***** Table A16 – First stage of two-stage least squares models

reg dcacount L1_instrument defense prev_acoup polity_iv lnGDPpc, cluster(ccode) r 
estimates store fm1
reg dca_dum L1_instrument defense prev_acoup polity_iv lnGDPpc, cluster(ccode) r 
estimates store fm2

reg dcacount L1_instrument defense prev_acoup polity_iv lnGDPpc if oecd==0, cluster(ccode) r 
estimates store fm3
reg dca_dum L1_instrument defense prev_acoup polity_iv lnGDPpc if oecd==0, cluster(ccode) r 
estimates store fm4

esttab fm1 fm2 fm3 fm4 using taba16.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)




***** Table A17 – Two-stage least squares models with additional covariates (full sample)

ivreg2 any_coup_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar (dcacount = L1_instrument), cluster(ccode) r 
estimates store ivm1
ivreg2 any_coup_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar (dca_dum = L1_instrument), cluster(ccode) r 
estimates store ivm2

reg dcacount L1_instrument defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar, cluster(ccode) r 
estimates store fsm1
reg dca_dum L1_instrument defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar, cluster(ccode) r 
estimates store fsm2

esttab ivm1 fsm1 ivm2 fsm2 using taba17.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)




***** Table A18 – Two-stage least squares models with additional covariates (developing countries)

ivreg2 any_coup_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar (dcacount = L1_instrument) if oecd==0, cluster(ccode) r 
estimates store ivm3
ivreg2 any_coup_dum defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar (dca_dum = L1_instrument) if oecd==0, cluster(ccode) r 
estimates store ivm4

reg dcacount L1_instrument defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar if oecd==0, cluster(ccode) r 
estimates store fsm3
reg dca_dum L1_instrument defense prev_acoup polity_iv lnGDPpc lnmilexp lnmilper threat mid_fat3 extek civilwar if oecd==0, cluster(ccode) r 
estimates store fsm4

esttab ivm3 fsm3 ivm4 fsm4 using taba18.tex, se r2 varwidth(30) label ///
star(* 0.10 ** 0.05 *** 0.01)



************************************************************************************************************************************************************
